package main

import (
	"flag"
	"fmt"
	"os"
)

func main(){
	//获取命令行参数
	fmt.Println("命令行参数有",len(os.Args))
	//遍历os.Args 可以得到所有的命令行输入参数值
	for i,v := range os.Args{
		fmt.Printf("第args[%v]=%v\n",i,v)
	}

	//定义变量，用于接收命令行的参数值
	var user string
	var pwd string
	var host string
	var port int
	// "u" -u指定参数 后面的参数值
	flag.StringVar(&user,"u","","用户名，默认为空")
	flag.StringVar(&pwd,"p","","密码，默认为空")
	flag.StringVar(&host,"h","localhost","主机地址，默认为空")
	flag.IntVar(&port,"P",3306,"端口地址，默认为3306")

	//这里有一个重要操作，转换，必须调用该方法
	flag.Parse()

	//输出结果
	fmt.Printf("user=%v pwd=%v host=%v prot=%v",user,pwd,host,port)
}
